package org.ndx.jsg.input;

import java.io.File;
import java.util.Collection;

import org.ndx.jsg.FileInfos;

/**
 * Interface used to popuplate the list of input files
 * @author ndx
 *
 */
public interface FileInfosProvider {

	/**
	 * Get all usable files in input folders
	 * @param defaultRoot default root used in case any element of inputPaths is not an existing file
	 * @param inputPaths a list of paths, absolutes or relatives to defaultRoot
	 * @param ignoredNames in each folder, any file/folder having one of the names listed here will be ignored 
	 * @return a collection of {@link FileInfos}, as precise as possible 
	 */
	Collection<FileInfos> getFiles(File defaultRoot, String[] inputPaths, Collection<String> ignoredNames);

}
